package com.yssoft.mapper.core;

import com.yssoft.entity.core.TArea;
import com.yssoft.entity.core.TEnterprise;
import tk.mybatis.mapper.common.Mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

public interface TEnterpriseMapper extends Mapper<TEnterprise> {
    /**
     * 条件查询企业信息
     * @param map
     * @return
     */
    List<Map<String,Object>> selectAllSql(Map map);
    
    /**
     * 条件查询企业信息总数
     * @param map
     * @return
     */
    int selectCountSql(Map map);
    
    /**
     * 新增保存企业信息并返回主键id
     * @param enterprise
     * @return
     */
    Integer insertGetById(TEnterprise enterprise);

    /**
     * 新增保存企业信息与产品类别中间表
     * @param id
     * @param string
     */
	void insertEntProCla(@Param(value="id")Integer id, @Param(value="procalid")Integer procalid);

	/**
     * 删除企业信息与产品类别中间表
     * @param id
     * @param string
     */
	void deleteEntByProById(Integer id);

	/**
	 * 根据登录人id获取角色信息
	 * @param userId
	 * @return
	 */
	Map<String, Object> queryRolePermissions(@Param(value="userId")Integer userId);

	/**
	 * 根据登录人Id查询角色
	 * @param accId
	 * @return
	 */
	Integer queryRoleIdByAccId(Integer accId);
    /**
     * 条件查询企业信息-企业预警
     * 王永宁
     * @param map
     * @return
     */
    List<Map<String,Object>> selectAllSqlForWarning(Map map);
    
    /**
     * 条件查询企业信息总数-企业预警
     * 王永宁
     * @param map
     * @return
     */
    int selectCountSqlForWarning(Map map);
    
    /**
     * 查询数据中所有未删除的企业
     * @param param
     * @return
     */
    List<Map<String, Object>> selectAllNoCompany(Map<String, Object> param);
    /**
     * 查询数据中所有未删除的企业count
     * @param param
     * @return
     */
    int selectAllNoCompanyCount(Map<String, Object> param);
    /**
    * @方法名: selectAllByArea
    * @创建人: 陈翼东
    * @时间: 2018/6/14 9:40
    * @参数: [childrenList]
    * @返回值: java.util.List<com.yssoft.entity.core.TEnterprise>
    * @说明: 根据地区查询该地区以及子地区下面的企业数量
    */
    List<TEnterprise> selectAllByArea(String areaId);
    /**
    * @方法名: selectAllByArea
    * @创建人: 陈翼东
    * @时间: 2018/6/14 9:40
    * @参数: [childrenList]
    * @返回值: java.util.List<com.yssoft.entity.core.TEnterprise>
    * @说明: 根据地区查询该地区以及子地区下面的企业数量
    */
    List<TEnterprise> selectAllByPage(Map<String,Object> param);
    
    /**
    * @方法名: selectAllByArea
    * @创建人: 陈翼东
    * @时间: 2018/6/14 9:40
    * @参数: [childrenList]
    * @返回值: java.util.List<com.yssoft.entity.core.TEnterprise>
    * @说明: 根据地区查询该地区以及子地区下面的企业数量
    */
    List<TEnterprise> selectAllByPageCount(Map<String,Object> param);
    
}